package com.example.memonto;

/**
 * 备忘录模式，栈，先进先出
 * 返回最后一次保存的内容
 * ---
 * 如果我打开一个记事本，就是说由TextEditor来记录，然后传给TextHistory，
 * 主要的存储对象是无状态的，应该是什么时候用到什么时候由TextEditor来创建，
 * 也就是new，所以就多了一个TextEditor类来记录状态，而不是每次都是手动new
 * 一个对象来记录某个状态
 */
public class Test {
    public static void main(String[] args) {
        TextEditor textEditor = new TextEditor();
        TextHistory textHistory = new TextHistory();

        textEditor.setText("今天");
        textHistory.save(textEditor.save());

        textEditor.setText("是");
        textHistory.save(textEditor.save());

        textEditor.setText("星期天");
        textHistory.save(textEditor.save());

        System.out.println(textHistory);

        textEditor.restore(textHistory.undo());
        System.out.println(textEditor.getText());

        System.out.println(textHistory);
    }
}
